package com.zhisheng.mapper;

import com.zhisheng.dto.EmpDto;
import com.zhisheng.dto.EmpLoginDto;
import com.zhisheng.pojo.Emp;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 员工管理
 */
@Mapper
public interface EmpMapper {

    /*
    // 没有使用分页插件之前的代码
    @Select("select * from emp limit #{start},#{pageSize}")
    public List<Emp> getByPage(@Param("start") Integer start, @Param("pageSize")Integer pageSize);

    @Select("select count(*) from emp")
    public Long getTotal();*/

    // 由分页插件自动添加 limit,且自动计算总数量  不带条件的分页查询
    @Select("select * from emp")
    public List<Emp> getByPage();

    // 由分页插件自动添加 limit,且自动计算满足dto条件的数量  带条件的分页查询
    List<Emp> getByPage2(EmpDto empDto);

    int delByIds(@Param("ids") Integer[] ids);

    @Insert("insert into emp  values (null,#{username},#{password},#{name},#{gender},#{image},#{job},#{entrydate},#{deptId},#{createTime},#{updateTime})")
    int isertEmp(Emp emp);

    @Select("select * from emp where username=#{username} and password=#{password}")
    Emp findByUsernameAndPassword(EmpLoginDto dto);

    @Delete("delete from emp where dept_id=#{deptId}")
    int delByDeptId(Integer deptId);
}
